草庐IT

flutter - 延迟 BottomNavigationBar

全部标签

c# - 使用 Moq 模拟单元测试中的执行延迟

我正在尝试测试以下内容:protectedIHealthStatusVerifyMessage(ISubscriberdestination){varstatus=newHeartBeatStatus();vartask=newTask(()=>{Console.WriteLine("VerifyMessage(Start):{0}-{1}",DateTime.Now,WarningTimeout);Thread.Sleep(WarningTimeout-500);Console.WriteLine("VerifyMessage(Success):{0}",DateTime.Now);

c# - 延迟执行和急切评估

你能给我一个在C#中使用急切求值的延迟执行的例子吗?我从MSDN了解到,LINQ中的延迟执行可以通过惰性求值或急切求值来实现。我可以在互联网上找到使用惰性求值的延迟执行的示例,但是我找不到任何使用急切求值的延迟执行的示例。此外,延迟执行与惰性求值有何不同?在我看来,两者看起来都一样。您能否也为此提供任何示例? 最佳答案 下面是我的回答,但也请注意JonSkeet今天在他的博客上谈到了一个事实,即他对MSDN中“懒惰”的含义并不完全满意,因为MSDN并不清楚懒惰的确切含义当他们在Justhowlazyareyou?中使用它时他的帖子值

c# - 为什么 IList 不是延迟执行?

据我了解,IEnumerable和IQueryable是延迟执行。为什么IList也支持延迟执行没有好处? 最佳答案 我想得越久,就越怀疑“延迟执行”的整个想法是否真的具有教学值(value)。我会通过否定来回答你的问题。IEnumerable,IQueryable和IList不以任何方式表示“延迟”或“急切”的计算。相反,接口(interface)代表提供服务的能力。IEnumerable表示服务“我可以一次提供一个序列,可能是无限的T类型的项目”。IQueryable表示服务“我可以表示对数据源的查询,并按需提供该查询的结果”。

c# - 如何在具有自己的用户类型的延迟加载属性上激活二级缓存?

前言:在我的应用程序中,我将原始WAV数据作为byte[]存储在数据库中。在我的域模型中,有一个类PcmAudioStream代表原始WAV数据。我创建了NHibernate的IUserType的实现,以在我的类和byte[]之间进行转换。有几个使用PcmAudioStream类的类,所有这些类都映射到数据库表。为避免在从此类表中检索行时始终加载所有WAV数据,我创建了FluentNHibernate的IUserTypeConvention的实现,该实现指定应始终延迟加载这些属性。所有这些都非常有效。问题:因为这些PcmAudioStream的内容很少改变,所以我想将检索到的实例放在二

c# - 延迟事件处理直到事件被触发

在C#中,延迟处理所有已知事件直到实体被完全修改的最佳方法是什么?例如,一个实体-MyEntity-具有属性ID、名称和描述...publicclassMyEntity{publicInt32ID{get;set;}publicStringName{get;set;}publicStringDescription{get;set;}}当修改每个属性时,每次修改都会触发一个事件。有时,ID是唯一被修改的属性,有时所有属性都被修改。我希望修改事件的注册监听器等待,直到“批处理”中被修改的所有属性都被修改。实现此目标的最佳方法是什么?在我看来,类似于UnitOfWork模式的东西,可以在调用

c# - 什么时候返回延迟的 IEnumerable<T> 是错误的形式

我很好奇是否有人对何时返回延迟的IEnumerable有任何经验法则或最佳实践或调用ToArray()在从函数返回之前在它上面。例如,作为API的使用者,我认为我更喜欢IEnumerableGetWidgets()这样的方法扔一个HttpException当我调用它而不是在枚举结果时抛出它。publicIEnumerableGetWidgets(IEnumarablewidgetIds){returnwidgetIds.Select(id=>GetWidgetFromWidgetWebService(id));} 最佳答案 我总是喜

c# - 在 .Net 4.0 中从 .Net 4.5 绑定(bind)的延迟属性

如何在.Net4.0中实现.Net4.5的延迟属性(描述here)?我知道我无法从BindingBase继承,因为ProvideValue是密封的。我可以实现MarkupExtension,但这意味着我现在必须重写BindingExtension的所有属性,还有其他方法吗? 最佳答案 最后,我决定使用组合将DelayedBinding实现为MarkupExtension。我遇到的唯一问题是如果IProvideValueTarget中的TargetProperty为null,DataTemplatesProvideValue应该返回此

c# - 延迟域事件的创建和调度

我一直在使用DomainEventspattern一段时间以来-它使我们能够在我们的领域层中封装尽可能多的行为,并为我们应用程序的其他部分提供一种很好的方式来订阅领域事件。目前我们正在使用一个静态类,我们的域对象可以调用它来引发事件:staticclassDomainEvents{publicstaticIEventDispatcherDispatcher{get;set;}publicstaticvoidRaise(TEvente){if(e!=null){Dispatcher.Dispatch(e);}}}如您所见,这只不过是IEventDispatcher的垫片。它实际上执行调度

c# - 为什么转换为 IEnumerable 的数组会忽略延迟执行?

我今天遇到了这个问题,但我不明白发生了什么:enumFoo{Zero,One,Two}voidMain(){IEnumerablea=newFoo[]{Foo.Zero,Foo.One,Foo.Two};IEnumerableb=a.ToList();PrintGeneric(a.Cast());PrintGeneric(b.Cast());Print(a.Cast());Print(b.Cast());}publicstaticvoidPrintGeneric(IEnumerablevalues){foreach(Tvalueinvalues){Console.WriteLine(v

c# - LINQ 如何在 using 语句中延迟执行

假设我有以下内容:privateIEnumerableMyFunc(parametera){using(MyDataContextdc=newMyDataContext){returndc.tablename.Select(row=>row.parameter==a);}}privatevoidUsingFunc(){varresult=MyFunc(newa());foreach(varrowinresult){//Dosomething}}根据文档,linq执行将推迟到我实际枚举结果时,该结果出现在foreach的行中。但是,using语句应强制在调用MyFunct()结束时可靠地